home *** CD-ROM | disk | FTP | other *** search
/ Java Interactive Reference Guide / Java Interactive Reference Guide.iso / autorun / java_d.dir / 00216_Field_15.txt < prev    next >
Text File  |  1980-01-11  |  3KB  |  110 lines

  1. 6 Packages
  2.  
  3.  
  4. ------------------------------------------------------------------------
  5.  
  6.  
  7. 6.1 - Specifying a Compilation Unit's Package
  8.  
  9.  
  10.  
  11. 6.2 - Using Classes and Interfaces from Other Packages
  12.  
  13.  
  14.  
  15. Packages are groups of classes and interfaces. They are a tool for managing a large namespace and avoiding conflicts. Every class and interface name is contained in some package. By convention, package names consist of period-separated words, with the first name representing the organization that developed the package.
  16.  
  17.  
  18. ------------------------------------------------------------------------
  19.  
  20.  
  21. 6.1 Specifying a Compilation Unit's Package
  22.  
  23. The package that a compilation unit is in is specified by a package statement. When this statement is present, it must be the first non-comment, non-white space line in the compilation unit. It has the following format:
  24.  
  25.  
  26.  
  27.  
  28. package packageName;
  29.  
  30.  
  31.  
  32. When a compilation unit has no package statement, the unit is placed in a default package, which has no name.
  33.  
  34.  
  35. ------------------------------------------------------------------------
  36.  
  37.  
  38. 6.2 Using Classes and Interfaces from Other Packages
  39.  
  40. The language provides a mechanism for making the definitions and implementations of classes and interfaces available across packages. The import keyword is used to mark classes as being imported into the current package. A compilation unit automatically imports every class and interface in its own package.
  41.  
  42. Code in one package can specify classes or interfaces from another package in one of two ways:
  43.  
  44.  
  45.  
  46. ΓÇóBy prefacing each reference to the class or interface name with the name of its package:
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.          // prefacing with a package
  55.  
  56.  
  57.          acme.project.FooBar obj = new acme.project.FooBar();
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. ΓÇóBy importing the class or interface or the package that contains it, using an import statement. Importing a class or interface makes the name of the class or interface available in the current namespace. Importing a package makes the names of all of its public classes and interfaces available. The construct:
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.          // import all classes from acme.project
  75.  
  76.  
  77.          import acme.project.*;
  78.  
  79.  
  80.  
  81.  
  82.  
  83. means that every public class from acme.project is imported.
  84.  
  85.  
  86. The following construct imports a single class, Employee_List, from the acme.project package:
  87.  
  88.  
  89.  
  90.          // import Employee_List from acme.project
  91.  
  92.  
  93.          import acme.project.FooBar;
  94.  
  95.  
  96.          Employee_List obj = new Employee_List();
  97.  
  98.  
  99.  
  100.  
  101.  
  102. It is illegal to specify an ambiguous class name and doing so always generates a compile-time error. Class names may be disambiguated through the use of a fully qualified class name, i.e., one that includes the name of the class's package.
  103.  
  104.  
  105. ------------------------------------------------------------------------
  106. Next Prev Up Contents 
  107.  
  108. The Java Language Specification
  109.  
  110. Generated with CERN WebMaker